---
id: "meth-decorator"
keywords: ["meth", "decorator"]
name: "@meth"
summary: "This is the `@meth` decorator."
category: "decorators"
---

The `@meth` decorator is used to call a function on a JavaScript object,
and avoid issues with currying.

### Example

Suppose we have the following JavaScript:

```js
function say(a, b) {
  console.log(a, b);
}

var john = {
  say,
};
```

We can model and bind to this object as follows.

<CodeTab labels={["ReScript", "JS Output"]}>

```res
type person = {@meth "say": (string, string) => unit}

@val external john: person = "john"

john["say"]("hey", "jude")
```

```js
john.say("hey", "jude");
```

</CodeTab>
